#pragma once 
#include <iostream>
#include <memory>
#include <utility/shared_ptr.h>

using namespace std;
using namespace shijie::utility;

class A;

class B 
{
public:
	B() = default;
	~B() {
		cout << "B is deleted" << endl;
	}
	SharedPtr<A> m_a;
};